package com.practicesuite.systemlayer;

import java.io.Serializable;

/**
 * Appointment Class
 * @author Ronald Brown
 *
 */
public class Appointment implements Serializable {

	/**
	 * Priate Variables
	 */
    private int appointnmentType;
    private int appointnmentLength;
    private int createdBy;
    private boolean reSchedule;
    private Patient patient;
    private String reasonForApp;
    private int desiredDoctorID;
    private String appointmentTime;
    private String appDate;
    
    public String getAppDate() {
        return appDate;
    }
    public void setAppDate(String appDate) {
        this.appDate = appDate;
    }
    /**
     * Default Constructor
     */
    public Appointment() {
		this(0, 30, 9, false, null, "", 9, "", "");
	}
	/**
	 * Default Constructor, please note the ID of the doctor is passed in, not the doctor itself.  This must be queried
	 * before creation of the object
	 * @param appointnmentType
	 * @param appointnmentLength
	 * @param createdBy
	 * @param reSchedule
	 * @param patient
	 * @param reasonForApp
	 * @param desiredDoctorID
	 */
    public Appointment(int appointnmentType, int appointnmentLength, int createdBy
            ,boolean reSchedule
            ,Patient patient, String reasonForApp, int desiredDoctorID, String appTime, String appDate) {
		this.appointnmentType = appointnmentType;
		this.appointnmentLength = appointnmentLength;
		this.createdBy = createdBy;
		this.reSchedule = reSchedule;
		this.patient = patient;
		this.reasonForApp = reasonForApp;
		this.desiredDoctorID = desiredDoctorID;
		this.appointmentTime = appTime;
		this.appDate = appDate;
		
	}

	public String getAppointmentTime() {
        return appointmentTime;
    }
    public void setAppointmentTime(String appointmentTime) {
        this.appointmentTime = appointmentTime;
    }
    public int getAppointnmentType() {
		return this.appointnmentType;
	}

	public void setAppointnmentType(int appointnmentType) {
		this.appointnmentType = appointnmentType;
	}

	public int getAppointnmentLength() {
		return this.appointnmentLength;
	}

	public void setAppointnmentLength(int appointnmentLength) {
		this.appointnmentLength = appointnmentLength;
	}

	public int getCreatedBy() {
		return this.createdBy;
	}

	public void setCreatedBy(int createdBy) {
		this.createdBy = createdBy;
	}

	public boolean isReSchedule() {
		return this.reSchedule;
	}

	public void setReSchedule(boolean reSchedule) {
		this.reSchedule = reSchedule;
	}

	public Patient getPatient() {
		return this.patient;
	}

	public void setPatient(Patient patient) {
		this.patient = patient;
	}

	public String getReasonForApp() {
		return this.reasonForApp;
	}

	public void setReasonForApp(String reasonForApp) {
		this.reasonForApp = reasonForApp;
	}

	public int getDesiredDoctorID() {
		return this.desiredDoctorID;
	}

	public void setDesiredDoctorID(int desiredDoctorID) {
		this.desiredDoctorID = desiredDoctorID;
	}

	/**
	 * ToString method
	 * @return Returns values saved in class as String
	 */
	public String toString() {
		return "Appointment [appointnmentType=" + appointnmentType
				+ ", appointnmentLength=" + appointnmentLength + ", createdBy="
				+ createdBy + ", reSchedule=" + reSchedule + ", patient="
				+ patient + ", reasonForApp=" + reasonForApp
				+ ", desiredDoctorID=" + desiredDoctorID + "]";
	}
	
	
	
	
}
